Applications typically emit various types of data such as log data and the like. Log data may be used for debugging purposes, for system administration purposes, or for other reasons. Because these functions typically involve various forms of communication with some high latency system (hard drive, computer network, or the like), these functions complicate development of the application. For example, applications may need to be “scalable,” meaning that when load for a particular function such as logging to disk becomes too great, additional computing resources such as additional processors may be utilized to increase throughput.